import axios from "axios";
// import adapterHttp from 'axios/lib/adapters/http'
import router from '@/router'
import store from '@/store'
import { loginToken } from "@/assets/js/index"

import qs from "qs"


// const isDevelopment = process.env.NODE_ENV !== "production";
// if(!isDevelopment){
//     axios.defaults.adapter = require('axios/lib/adapters/http');
// }

const VUE_APP_BASE_API = process.env.VUE_APP_BASE_API
// axios.defaults.adapter = require('axios/lib/adapters/http');
// axios.defaults.adapter=adapterHttp
// const NODE_ENV=process.env.NODE_ENV
// axios.defaults.baseURL= BASE_URL
// const BASE_URL=`${process.env.BASE_URL}`


const instance = axios.create({
    baseURL: VUE_APP_BASE_API,
    timeout: 30000,
});

// 添加请求拦截器
instance.interceptors.request.use(function (config) {
    //config.headers['token'] = loginToken()
    config.headers['token'] = store.getters.token
    config.headers['equipmentId'] = store.getters.equipmentId
    // 在发送请求之前做些什么
    /* config.params={
        ...config.params,
        equipmentId: store.getters.equipmentId
    } */
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    const { data } = response;
    if(data.code == 401){//todo
        //const backtoUrl = encodeURIComponent(router.currentRoute.fullPath)
        router.push({path:"/?isLogin=false"})//todo
        store.dispatch("logout")//?
    }

    return data;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});



export default instance